package models

// CardholderQueryParams 用卡人列表查询参数
//
type CardholderQueryParams struct {
	PageIndex      int64  `json:"pageIndex,omitempty"`
	PageSize       int64  `json:"pageSize,omitempty"`
	MemberID       string `json:"memberId,omitempty"`
	MatrixAccount  string `json:"matrixAccount,omitempty"`
	CreatedAtStart string `json:"createdAtStart,omitempty"`
	CreatedAtEnd   string `json:"createdAtEnd,omitempty"`
	CardholderID   string `json:"cardholderId,omitempty"`
	Status         string `json:"status,omitempty"`
	Name           string `json:"name,omitempty"`
	FirstName      string `json:"firstName,omitempty"`
	LastName       string `json:"lastName,omitempty"`
}

// CardholderInfo 用卡人信息
//
type CardholderInfo struct {
	CardholderID               string `json:"cardholderId"`
	CreatedAt                  string `json:"createdAt"`
	DateOfBirth                string `json:"dateOfBirth"`
	Email                      string `json:"email"`
	FirstName                  string `json:"firstName"`
	MatrixAccount              string `json:"matrixAccount"`
	IsLegal                    string `json:"isLegal"`
	LastName                   string `json:"lastName"`
	MemberID                   string `json:"memberId"`
	Mobile                     string `json:"mobile"`
	MobilePrefix               string `json:"mobilePrefix"`
	NationalityCountryCode     string `json:"nationalityCountryCode"`
	ResidentialAddress         string `json:"residentialAddress"`
	ResidentialCity            string `json:"residentialCity"`
	ResidentialCountryCode     string `json:"residentialCountryCode"`
	ResidentialPostalCode      string `json:"residentialPostalCode"`
	ResidentialState           string `json:"residentialState"`
	CardholderNameAbbreviation string `json:"cardholderNameAbbreviation"`
	Status                     string `json:"status"`
	CardholderReviewStatus     string `json:"cardholderReviewStatus"`
	Reason                     string `json:"reason"`
}

// CardholderListResponse 用卡人列表查询响应
//
type CardholderListResponse struct {
	Code      string           `json:"code"`
	Msg       string           `json:"msg"`
	Data      []CardholderInfo `json:"data"`
	PageIndex int64            `json:"pageIndex"`
	PageSize  int64            `json:"pageSize"`
	Total     int64            `json:"total"`
}
